﻿using System.Collections.Generic;
using ConfiguracionFisica.Dominio;

namespace ConfiguracionFisica.Persistencia
{
    public interface IConversorSerialDao
    {
        ISet<ConversorSerial> getTodosConversoresSerial();

        /// <summary>
        /// Elimina un conversor a partir de su número de ip, si existe. Sino, no hace nada.
        /// </summary>
        /// <param name="ipConversorAEliminar">Número de ip del conversor que se quiere eliminar</param>
        void eliminarConversorSerial(string ipConversorSerial);


        /// <summary>
        /// Si el conversor pasado por parametro existe lo modifica (reemplaza), sino lo guarda como uno nuevo
        /// </summary>
        /// <param name="unCliente">un conversor a persistir</param>
        /// <returns>retorna el conversor viejo si hay una modificacion, o <value>null</value> si se guardó uno nuevo</returns>
        ConversorSerial  guardarOModificarConversorSerial(ConversorSerial unConversor);

        /// <summary>
        /// Devuelve un conversor serial que poseea el ip pasado por parametro
        /// </summary>
        /// <param name="ipDelConversorABuscar">direccion ip del conversor a buscar</param>
        /// <returns>retorna el cliente si existe,sino null</returns>
        ConversorSerial getConversorPorIp(string ipConversorSerial);

    }
}
